// module MUX3(flag, sinal, in_data1, in_data2, out_data);
module MUX3MEM(sinal, in_data1, in_data2, in_data3, out_data);

// parameter                    data_bits = 4;
// input                        clk;
input    [1:0]        sinal;
// input 						 flag;
input    [31:0]       in_data1;
input    [31:0]       in_data2;
input    [31:0]       in_data3;
output   [31:0]       out_data;
reg      [31:0]       out_data;

always @(*)
begin
    case (sinal)
        2'b00    : out_data = in_data1;
        2'b01    : out_data = in_data2;
        default  : out_data = in_data3;
    endcase
end

endmodule